//
//  EAGLView.h
//  TestApp
//
//  Created by liu dingxi on 09-7-30.
//  Copyright tencent 2009. All rights reserved.
//


#import <UIKit/UIKit.h>
#import <OpenGLES/EAGL.h>
#import <OpenGLES/ES1/gl.h>
#import <OpenGLES/ES1/glext.h>
#import "GMsgDef.h"

@interface GUIEditor : UITextField
{
	FOCUS_EDIT*	pFocus;
}

@property (nonatomic) FOCUS_EDIT* pFocus;

@end


/*
This class wraps the CAEAGLLayer from CoreAnimation into a convenient UIView subclass.
The view content is basically an EAGL surface you render your OpenGL scene into.
Note that setting the view non-opaque will only work if the EAGL surface has an alpha channel.
*/
@interface EAGLView : UIView <UITextFieldDelegate>
{
    
@private
    /* The pixel dimensions of the backbuffer */
    GLint backingWidth;
    GLint backingHeight;
    
    EAGLContext *context;
    
    /* OpenGL names for the renderbuffer and framebuffers used to render to this view */
    GLuint viewRenderbuffer, viewFramebuffer;
    
    /* OpenGL name for the depth buffer that is attached to viewFramebuffer, if it exists (0 if it does not exist) */
    GLuint depthRenderbuffer;
    
    NSTimer *animationTimer;
    NSTimeInterval animationInterval;
	
	GUIEditor*	m_pEditor;
	
}

@property NSTimeInterval animationInterval;
@property (nonatomic, retain) GUIEditor* m_pEditor;

- (void)startAnimation;
- (void)stopAnimation;
- (void)bindEditor:(FOCUS_EDIT*)pFocus;
- (void)drawView;
- (void)OnTimer;
- (void)OnQuit;

+(NSString *) HomePath;
+(NSString *) TempPath;
+(NSString *) DocPath;
+(NSString *) AppPath;

@end
